home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-04-30 | 3.4 KB | 148 lines | [TEXT/MPS ] |
- /*
- File: OTGetInterfaceInfoSample.cp
-
- Contains: Sample showing use of OTInetGetInterfaceInfo
-
- Copyright: © 1994-1997 by Apple Computer, Inc., all rights reserved.
-
- */
-
- #include <Types.h>
- #include <Events.h>
- #include <SegLoad.h>
- #include <String.h>
- #include <strings.h>
- #include <Quickdraw.h>
- #include <Stdio.h>
- #include <StdLib.h>
- #include <TextUtils.h>
- #include <Menus.h>
- #include <Devices.h>
- #include <Events.h>
- #include <OpenTransport.h>
- #include <OpenTptInternet.h>
-
-
- OTResult gTestResult = kOTNoError;
-
- long gNumber = 0;
-
- InetInterfaceInfo gMyInfo;
-
- union
- {
- InetHost addr;
- UInt8 bytes[4];
- } gTmpAddr;
-
- void Inits()
- {
- /*
- * Do standard inits
- */
- InitGraf(&qd.thePort);
- if ( InitOpenTransport() != kOTNoError )
- {
- fprintf(stderr, "GetInterfaceInfo: Could not initialize ASLM, exiting\n");
- exit(1);
- }
- }
-
- void bzero(UInt8* start, size_t size)
- {
- do
- {
- *start++ = 0;
- } while (--size);
- }
-
- int main()
- {
- char mystr[kMaxHostNameLen];
- OSErr err;
- long i;
- UInt16 j;
-
- Inits();
- fflush(stdout);
-
- do
- {
- fprintf(stderr, "How many interfaces would you like information about? \nEnter a number from 1 to 10: \n");
- if ( gets(mystr) != 0 )
- stringtonum(mystr, &gNumber);
- else
- {
- fprintf(stderr, "Couldn't get number from window!\n");
- return(1);
- }
- if (gNumber < 1)
- {
- fprintf(stderr, "Sorry; %d is an invalid entry for this test\n", gNumber);
- break;
- }
- for (i = 0; i < gNumber; i++)
- {
- bzero((UInt8*)&gMyInfo, sizeof(InetInterfaceInfo));
- err = OTInetGetInterfaceInfo(&gMyInfo, i);
- if (err != kOTNoError)
- {
- if (err == kOTNotFoundErr)
- {
- fprintf(stderr, "Interface %d: Does Not Exist\n", i);
- break;
- }
- else
- {
- fprintf(stderr, "Error! GetInterfaceInfo returns %d\n", err);
- break;
- }
- }
- gTmpAddr.addr = gMyInfo.fAddress;
- fprintf(stderr, "Interface %d : Address = %d.%d.%d.%d\n ", i, gTmpAddr.bytes[0],
- gTmpAddr.bytes[1], gTmpAddr.bytes[2], gTmpAddr.bytes[3]);
- gTmpAddr.addr = gMyInfo.fNetmask;
- fprintf(stderr, "Netmask = %d.%d.%d.%d\n ", gTmpAddr.bytes[0],
- gTmpAddr.bytes[1], gTmpAddr.bytes[2], gTmpAddr.bytes[3]);
- if (gMyInfo.fBroadcastAddr != NULL)
- {
- gTmpAddr.addr = gMyInfo.fBroadcastAddr;
- fprintf(stderr, "Broadcast Address = %d.%d.%d.%d\n", gTmpAddr.bytes[0],
- gTmpAddr.bytes[1], gTmpAddr.bytes[2], gTmpAddr.bytes[3]);
- }
- fprintf(stderr, "Interface MTU = %d\n ", gMyInfo.fIfMTU);
- if (gMyInfo.fHWAddrLen > 0)
- {
- fprintf(stderr, "Interface hardware address = ");
- for(j = 0; j < gMyInfo.fHWAddrLen; j++)
- {
- fprintf(stderr, "%2d", gMyInfo.fHWAddr[j]);
- if (j < (gMyInfo.fHWAddrLen - 1))
- {
- fprintf(stderr, ":");
- }
- }
- fprintf(stderr, "\n");
- }
- else
- {
- fprintf(stderr, "There is no hardware address associated with this interface\n");
- }
- gTmpAddr.addr = gMyInfo.fDefaultGatewayAddr;
- fprintf(stderr, "Default Gateway Address = %d.%d.%d.%d\n", gTmpAddr.bytes[0],
- gTmpAddr.bytes[1], gTmpAddr.bytes[2], gTmpAddr.bytes[3]);
- gTmpAddr.addr = gMyInfo.fDNSAddr;
- fprintf(stderr, "Domain Name Server Address = %d.%d.%d.%d\n", gTmpAddr.bytes[0],
- gTmpAddr.bytes[1], gTmpAddr.bytes[2], gTmpAddr.bytes[3]);
- if (gMyInfo.fDomainName[0] != NULL)
- fprintf(stderr, "Domain Name = %s", gMyInfo.fDomainName);
- fprintf(stderr, "\n");
- }
- } while ( false );
-
- fprintf(stderr, "Tests Completed.\n");
- return 0;
- }
-
-
-